<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual is for FFTW
(version 3.3.8, 24 May 2018).

Copyright (C) 2003 Matteo Frigo.

Copyright (C) 2003 Massachusetts Institute of Technology.

Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation
approved by the Free Software Foundation. -->
<!-- Created by GNU Texinfo 6.3, http://www.gnu.org/software/texinfo/ -->
<head>
<title>FFTW 3.3.8: Wisdom Import</title>

<meta name="description" content="FFTW 3.3.8: Wisdom Import">
<meta name="keywords" content="FFTW 3.3.8: Wisdom Import">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Wisdom.html#Wisdom" rel="up" title="Wisdom">
<link href="Forgetting-Wisdom.html#Forgetting-Wisdom" rel="next" title="Forgetting Wisdom">
<link href="Wisdom-Export.html#Wisdom-Export" rel="prev" title="Wisdom Export">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en">
<a name="Wisdom-Import"></a>
<div class="header">
<p>
Next: <a href="Forgetting-Wisdom.html#Forgetting-Wisdom" accesskey="n" rel="next">Forgetting Wisdom</a>, Previous: <a href="Wisdom-Export.html#Wisdom-Export" accesskey="p" rel="prev">Wisdom Export</a>, Up: <a href="Wisdom.html#Wisdom" accesskey="u" rel="up">Wisdom</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Wisdom-Import-1"></a>
<h4 class="subsection">4.7.2 Wisdom Import</h4>

<div class="example">
<pre class="example">int fftw_import_system_wisdom(void);
int fftw_import_wisdom_from_filename(const char *filename);
int fftw_import_wisdom_from_string(const char *input_string);
int fftw_import_wisdom(int (*read_char)(void *), void *data);
</pre></div>
<a name="index-fftw_005fimport_005fwisdom"></a>
<a name="index-fftw_005fimport_005fsystem_005fwisdom-1"></a>
<a name="index-fftw_005fimport_005fwisdom_005ffrom_005ffilename-1"></a>
<a name="index-fftw_005fimport_005fwisdom_005ffrom_005ffile"></a>
<a name="index-fftw_005fimport_005fwisdom_005ffrom_005fstring"></a>

<p>These functions import wisdom into a program from data stored by the
<code>fftw_export_wisdom</code> functions above. (See <a href="Words-of-Wisdom_002dSaving-Plans.html#Words-of-Wisdom_002dSaving-Plans">Words of Wisdom-Saving Plans</a>.)  The imported wisdom replaces any wisdom
already accumulated by the running program.
</p>
<p><code>fftw_import_wisdom</code> imports wisdom from any input medium, as
specified by the callback function <code>read_char</code>. <code>read_char</code> is
a <code>getc</code>-like function that returns the next character in the
input; its parameter is the <code>data</code> pointer passed to
<code>fftw_import_wisdom</code>. If the end of the input data is reached
(which should never happen for valid data), <code>read_char</code> should
return <code>EOF</code> (as defined in <code>&lt;stdio.h&gt;</code>).  For convenience,
the following three &ldquo;wrapper&rdquo; routines are provided:
</p>
<p><code>fftw_import_wisdom_from_filename</code> reads wisdom from a file named
<code>filename</code>.  A lower-level function, which requires you to open
and close the file yourself (e.g. if you want to read wisdom from a
portion of a larger file) is <code>fftw_import_wisdom_from_file</code>. This
reads wisdom from the current position in <code>input_file</code> (which
should be open with read permission); upon exit, the file remains
open, but the position of the read pointer is unspecified.
</p>
<p><code>fftw_import_wisdom_from_string</code> reads wisdom from the
<code>NULL</code>-terminated string <code>input_string</code>.
</p>
<p><code>fftw_import_system_wisdom</code> reads wisdom from an
implementation-defined standard file (<code>/etc/fftw/wisdom</code> on Unix
and GNU systems).
<a name="index-wisdom_002c-system_002dwide-1"></a>
</p>

<p>The return value of these import routines is <code>1</code> if the wisdom was
read successfully and <code>0</code> otherwise. Note that, in all of these
functions, any data in the input stream past the end of the wisdom data
is simply ignored.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Forgetting-Wisdom.html#Forgetting-Wisdom" accesskey="n" rel="next">Forgetting Wisdom</a>, Previous: <a href="Wisdom-Export.html#Wisdom-Export" accesskey="p" rel="prev">Wisdom Export</a>, Up: <a href="Wisdom.html#Wisdom" accesskey="u" rel="up">Wisdom</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
